package player;

import controlleur.ControllerGrille;
import java.io.Serializable;
import jreversi.Coordonnee;
import moteur.IA;
import moteur.Plateau;

public class Computer extends Joueur implements Serializable
{
    transient private Thread t;
    private int level = 3;

    public Computer()
    {
    }

    public Computer(int difficulte)
    {
        level = (difficulte + 1) * 3;
    }

    public void jouer()
    {
        t = new Thread()
        {

            public void run()
            {
                IA ia = new IA();

                Coordonnee c = ia.jouer(level);

                if (c != null)
                {
                    ControllerGrille cg = new ControllerGrille();
                    cg.coupPossible(c.getX(), c.getY());
                    Plateau.getInstance().posePion(c.getX(), c.getY(), cg.getCasesAFlip());
                }
            }
        };
        t.start();
    }

    public void passer()
    {
        Plateau.getInstance().changeTour();
    }

    public void attendre()
    {
        if (t != null)
        {
            tStop();
        }
    }

    public char toChar()
    {
        return 'C';
    }

    public void tStop()
    {
        t.interrupt();
    }
}
